﻿using System;
using System.Collections.Generic;
using System.ComponentModel.Composition;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using PowersourceUIToolkit;


namespace UCL.Powersource
{
    [Export(typeof(IPowersourceExt))]
    internal class PowersourceExt : IPowersourceExt
    {

        private IReportingManager _ReportingManager;
        public IReportingManager ReportingManager 
        {
            get { return _ReportingManager ?? (_ReportingManager = IoC.Get<IReportingManager>()); }
            private set { _ReportingManager=value;}
        }

        private IStatisticManager _StatisticManager;
        public IStatisticManager StatisticManager 
        {
            get { return _StatisticManager ?? (_StatisticManager = IoC.Get<IStatisticManager>()); }
            private set { _StatisticManager = value; } 
        }

        private IUIManager _UIManager;
        public IUIManager UIManager
        {
            get { return _UIManager ?? (_UIManager = IoC.Get<IUIManager>()); }
            private set { _UIManager = value; }
        }
      

        private ILog _Log;
        public ILog Log
        {
            get
            {
                return _Log ?? (_Log = LogManager.GetLog(typeof(PowersourceExt)));
            }
        }



    }
}
